
class_name Controller
extends Node




## 阵营
@export var camp: String = ""
## 名字
@export var controller_name: String = ""

## 自己管理的所有 unit
var units: Array[ Unit ] = []




## 清除信息
func clear() -> void:
	for unit in units:
		remove_unit(unit)
	
	units.clear()




## 增加 unit
func add_unit(_unit: Unit) -> void:
	if units.find(_unit) == -1:
		_unit.controller = self
		units.push_back(units)
		
		_connect_unit(_unit)




## 卸掉 unit 与本场景的关系
func remove_unit(_unit: Unit) -> void:
	if units.find(_unit) != -1:
		_unit.controller = null
		units.erase(_unit)
		_disconnect_unit(_unit)




## 连接信号
func _connect_unit(_unit: Unit) -> void:
	pass




# 断开信号
func _disconnect_unit(_unit: Unit) -> void:
	pass




## 自己管理的 unit 开始行动通知
func unit_start_action(_unit: Unit) -> void:
	pass




## 自己管理的 unit 结束行动通知
func unit_end_action(_unit: Unit) -> void:
	pass
